package conditionsAPI;

public abstract class DomainCondition {

	public boolean isTrue(){
		return this.getCondition().isTrue();
	}
	
	public String getId(){
		return this.getCondition().getId();
	}
	
	/**
	 * Metodo que deben implementar los validadores que definan los usuarios de la API.
	 * Recibe por parametro un objeto del vector y debe informar si cumple con la validacion. 
	 * @param domainObject elemento de la coleccion que estoy validando
	 * @return boolean que indica si la validacion se cumple en los objetos de la coleccion
	 * que recibio hasta el momento
	 */
	public abstract boolean checkConditionState(Object domainObject);

	
	protected abstract void resetState();
	protected abstract Condition getCondition();
}
